目標:提出一種將可靠的交易傳播與交易排序分開的方法,以實現高性能的 Byzantine fault-tolerant quorum-based 共識。
Narwhal:一個專門用於高吞吐量可靠傳播和存儲交易的因果歷史的 mempool 協議。
Tusk:一個與 Narwhal 一起工作的零消息開銷的異步共識協議,能在各種配置和錯誤下實現高性能。
性能:Narwhal-HotStuff 在 WAN 上達到超過 130,000 tx/sec 的吞吐量,延遲小於 2 秒,與 HotStuff 的 1,800 tx/sec 和 1 秒的延遲相比有顯著提升。
假設:更好的 Mempool,可靠地分發交易,是實現高性能分類帳的關鍵。
Narwhal:通過卸載可靠的交易傳播到 Mempool 協議,並僅依賴共識來排序極小量的元數據,從而顯著提高性能。
系統模型:假設一個消息傳遞系統,有一組受限的對手可以控制網絡和破壞一些參與者。
Narwhal Mempool:向所有參與者展示一個 key-value block store 抽象,可以用來讀寫交易塊並提取這些塊的部分順序。
屬性:包括完整性、塊可用性、包含性、2/3-因果性和1/2-鏈質量。
設計步驟:從廣播塊而不是交易開始,讓領導者提出一個塊的哈希,依賴 Mempool 層來提供其完整性保護的內容。
可擴展性:Narwhal 的吞吐量與每個驗證者的資源數量成線性增長,而延遲不會受到影響。
這裡提出了 Narwhal 和 Tusk,這兩種基於 DAG 的協議分別專注於 Mempool 和高效的 BFT 共識。Narwhal 專為高吞吐量的可靠傳播和存儲交易的因果歷史而設計,而 Tusk 是一個零消息開銷的異步共識協議。
Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus